import AbstractService from "./abstract.service";
import ApiConfig from "@/config/api.config";
import UserInfo from "@/entity/interface/user.interface";
import { ErrorRequest } from "./abstract.service";

export class ShopService extends AbstractService {
  /**
   * 增加分类
   */
  addCategory(name: string) {
    return super.PostData("api/admin/category/v1/", { name });
  }
  /**
   * 获取分类列表
   */
  getCategoryList(pageParams: { page: number; size: number; id?: string }) {
    return super.GetData("api/admin/category/v1/", pageParams);
  }
  /**
   * 修改分类
   */
  changeCategory(data: any) {
    return super.PutData(`api/admin/category/v1/${data.id}`, data);
  }
  /**
   * 删除分类
   */
  deleteCategory(id: string) {
    return super.DeleteData(`api/admin/category/v1/${id}`);
  }
  /**
   * 新建商品
   */
  addProduct(data: any) {
    return super.PostData("api/admin/product/v1/", { ...data, oldPrice: 0, detail: "", stock: 0 });
  }
  /**
   * 商品列表
   */
  getProductList(pageParams: { page: number; size: number; id?: string }) {
    return super.GetData("api/admin/product/v1/", pageParams);
  }
  /**
   * 修改商品
   */
  changeProduct(data: any) {
    return super.PutData(`api/admin/product/v1/${data.id}`, data);
  }
  /**
   * 删除商品
   */
  deleteProduct(id: string) {
    return super.DeleteData(`api/admin/product/v1/${id}`);
  }
  /**
   * 轮播图列表
   */
  getBannerList(pageParams: { page: number; size: number; id?: string }) {
    return super.GetData("api/admin/banner/v1/", { size: 999, page: 1 });
  }
  /**
   * 增加轮播图
   */
  addBanner(img: string) {
    return super.PostData("api/admin/banner/v1/", { img, url: "", weight: 0 });
  }
  /**
   * 删除轮播图
   */
  deleteBanner(id: any) {
    return super.DeleteData(`api/admin/banner/v1/${id}`);
  }
  /**
   * 获取订单列表
   */
  getOrderList(pageParams: { page: number; size: number; id?: string; status?: number | null }) {
    return super.GetData(`api/admin/order/v1/`, pageParams);
  }
  /**
   * 订单状态变更
   */
  changeOrderStatus(id: any, status: 0 | 1 | 2) {
    return super.PutData(`api/admin/order/v1/${id}`, { status });
  }
  /**
   * 商品分类统计
   */
  staticProductCategory() {
    return super.GetData(`api/admin/statistic/v1/category`);
  }
  /**
   * 商品单项
   */
  staticProductSingleItem() {
    return super.GetData(`api/admin/statistic/v1/items`);
  }
}
